Dynamic synchronization tool

ABSTRACT

The present disclosure relates to systems and methods for synchronizing one or more mediatations with a video timeline. A mediatation may refer to any media content displayed in a separate window from a video stream. Example mediatations include, but are not limited to, portable document format (PDF) documents, text documents, and image documents. Mediatations are associated with a timeline for a video stream. As the video stream is played, different indications of mediatations may appear in a window separate from the window playing the video. A user may then select an indication of a mediatation to display the entirety of the mediatation.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation application and claims priority toU.S. patent application Ser. No. 12/952,871, filed Nov. 23, 2010, andentitled “DYNAMIC SYNCHRONIZATION TOOL,” which application isincorporated herein by reference in its entirety.

INTRODUCTION

Use of multimedia content in every day life is becoming increasinglycommon. Many organizations, educational institutions, and mediaindustries utilize various types of multimedia content on a daily basis.Increased usage of media content has spurred a need for a more intuitiveprocess of media tagging, searching, and storing. It is in this generalcontext that the present application is presented.

BRIEF DESCRIPTION OF THE DRAWINGS

The following drawing figures, which form a part of this application,are illustrative of embodiments systems and methods described below andare not meant to limit the scope of the technology in any manner.

FIG. 1 illustrates a general overview of an information retrieval andcommunication network

FIG. 2 illustrates an embodiment of a method for logging into anapplication for synchronizing one or more mediatations with a videotimeline.

FIG. 3 illustrates an embodiment of a method for synchronouslydisplaying a mediatation with a video timeline at the client.

FIG. 4 illustrates an embodiment of a method for providing mediatationsfor synchronous display with a video timeline at the client.

FIG. 5 illustrates an embodiment of a method for uploading a mediatationin association with a video timeline.

FIG. 6 is an illustration of a graphical user interface in accordancewith at least one embodiment of the present application.

FIG. 7 is an illustration of a graphical user interface in accordancewith at least one embodiment of the present application.

FIG. 8 is an illustration of a graphical user interface in accordancewith at least one embodiment of the present application.

FIG. 9 is an illustration of a graphical user interface in accordancewith at least one embodiment of the present application.

FIG. 10 is a block diagram illustrating an embodiment of a suitablecomputer system for associating one or more mediatations with a videotimeline.

SUMMARY

The present disclosure relates to systems and methods of improved mediatagging and presentation. Specifically, the present disclosure providessystems and methods for synchronizing one or more mediatations with avideo timeline. In one embodiment methods and systems for synchronizingdisplay of media content with a video timeline are provided. A clientreceives, separately, a base video stream and a list of one or moremediatations associated with the base video stream. When the base videostream begins playing, the video timeline is monitored. During a firstperiod of the timeline, an indication of a first mediatation isdisplayed separate from the base video stream. Upon receiving a commandto display the first mediatation, the first mediatation is thendisplayed separately from the base video stream.

In another embodiment, a method is provided for synchronizing display ofmedia content with a video timeline. A request is received for a list ofone or more mediatations associated with a base video stream. Inresponse to the request, a list of one or more mediatations is sent.After receiving an indication that the base video is playing, firstmediatation is determined from the list of one or more mediations. Thetimeline is then monitored and, upon reaching the first period in thetimeline, an indication of the first mediatation associated with thefirst period in the timeline is retrieved. The indication of the firstmediatation is then sent for display. Upon receiving a request for thefirst mediatation, the first mediatation is sent for display in a windowseparate from the base video stream.

DETAILED DESCRIPTION

The present disclosure relates to systems and methods for synchronizingone or more mediatations with a video timeline. For the purposes of thisdisclosure, a mediatation may refer to any media content displayed in aseparate window from a video display that is associated with a period ofthe video stream. Windows may include one or more elements, or displayareas, and, additionally, may provide graphical displays, instructions,or other useful information. A “separate” window may include any areaoutside of the video display. Example mediatations include, but are notlimited to, portable document format (PDF) documents, text documents,and image documents. Mediatations are associated with a timeline for avideo stream. As used herein, “video stream” refers to any visual mediathat includes a timeline and that is capable of being rendered on avideo media player, including streaming video, and video that is storedlocally, remotely, or on removable storage devices, regardless of howsuch video is delivered to a video player. As the video stream isplayed, different indications of mediatations may appear in a windowseparate from the window playing the video. For example, the videostream may be a recorded lecture given by a professor. The professor maythen mediatate the video by associating one or more mediatations withthe timeline. As the lecture plays, different indications ofmediatations, such as practice questions, diagrams, or supplementaryarticles may appear in a window separate from the video stream. Theindications may comprise previews of the mediatation itself. Forexample, an indication may be the first practice question of a practicequestion set, a portion of a diagram, a description of the mediatation,or a thumbnail of PDF article. The indications of mediatations aredisplayed separately from the window playing the video so the user canview the video stream and the indication of the mediatation at the sametime. A user may then select an indication of a mediatation to accessthe entirety of the mediatation. For example, a user may want to readthe entirety of a PDF article. The user can select the thumbnail of thePDF. The entire PDF article will then be provided for user interactionwithin the mediatation display window.

The video timelines may be mediatated by users other than the creator ofthe video stream. For example, a classmate or group project member couldmediatate the professor's video stream from the above example. A user'sability to mediatate may be controlled by the user's permissions andrules set for mediatation of the video timeline. For example, a user'scredentials presented at login may indicate to a mediatation applicationthat the user is not permitted to mediatate certain portions of thevideo timeline. Alternatively, rules set for mediatation of the videotimeline may indicate to the mediatation application that a certainuser's mediatations should be mandatory for the video timeline,requiring all viewing users to display the mandatory mediatations. Aviewing user could also filter mediatations so that indications of onlya certain user's or certain types of mediatations are displayed forview.

FIG.1 illustrates a general overview of an exemplary informationretrieval and communication system 100 suitable for performingembodiments described herein. FIG. 1 represents embodiments of a networkincluding an application server 106, a streaming media server 108, aclient device 102, a mediatation data store 110, a mediatation digitalasset store 112, an user experience meta store 114, and a streamingvideo data store 116. In computer network 100, client device 102 iscoupled to the communications network 104. Only one client device 102 isshown, but it is understood that more than one client device may becommunicatively coupled to the communication system 100 eitherindividually or in a distributed manner, and that other serversproviding additional functionality may also be interconnected to anycomponent shown in system 100 either directly, over a LAN or a WAN, orover the Internet. Moreover, the system 100 may operate in a cloudcomputing environment.

Several elements in the system shown in FIG. 1 are conventional,well-known elements that need not be explained in detail here. Forexample, each client device 102 could be a desktop personal computer,workstation, cellular telephone, personal digital assistant (PDA),laptop, or any other device capable of interfacing directly orindirectly with the communications network 104. Each client 102typically runs a browsing program, such as Microsoft's InternetExplorer, Mozilla Firefox, Safari or the like, or a micro browser suchas a WAP enabled browser in the case of a cell phone, PDA or otherhandheld wireless devices, allowing a user of client 102 to browse pagesand forms available to it from application server 106, streaming videoserver 108, or other servers over communications network 104. Eachclient device 102 also typically includes one or more user interfacedevices, such as a keyboard, a mouse, touch screen, pen or the like, forinteracting with a graphical user interface (GUI) provided by thebrowser on a monitor screen, LCD display, etc., in conjunction withpages and forms provided by application server 106, streaming mediaserver 108 or other servers. The present disclosure is suitable for usewith the any communications network 104 Internet, which refers to aspecific global Internetwork of networks. However, it should beunderstood that other networks can be used instead of the Internet, suchas an intranet, an extranet, a virtual private network (VPN), anon-TCP/IP based network, peer-to-peer networks, any LAN or WAN or thelike and combinations thereof.

Application server 106 and streaming video server 108 and any relatedcomponents are operator configurable using an application includingcomputer code run using a central processing unit such as an INTEL COREprocessor or the like. Computer code for operating and configuringapplication server 106 and streaming video server 108 as describedherein is preferably stored on a hard disk, but the entire program code,or portions thereof, may also be stored in any other memory device suchas a ROM or RAM, or provided on any media capable of storing programcode, such as a compact disk medium, a floppy disk, or the like.Additionally, the entire program code, or portions thereof may bedownloaded from a software source to application server 106 or streamingvideo server 108 over the Internet as is well known, or transmitted overany other conventional network connection as is well known, e.g.,extranet, VPN, LAN, etc., using any communication medium and protocol asare well known. Additionally, portions of the program code may bedownloaded or provided to client device 102 and executed on clientdevice 102.

In one embodiment, communication system 100 further includes amediatation data store 110, a mediatation digital asset store 112, anuser experience meta store 114 and a streaming video store 116. Thestreaming video data store 116 is communicatively coupled to thestreaming video server 108. The streaming video data store 116 storesvideo streams and timelines associated with those videos. Themediatation data store 110, mediatation digital asset store 112, anduser experience meta store 114 are communicatively connected to theapplication server 106. The mediatation data store 110 stores linksbetween mediatations stored in the mediatation digital asset store 112and the video timeline. The links could be of any form, including butnot limited to XML structures or data tables. The mediatation digitalasset store 112 stores mediatations associated with the video timelinestored in the streaming video data store 116. As discussed above,mediatations may include, but are not limited to, portable documentformat (PDF) documents, text documents, and image documents. The userexperience meta store 114 stores user experience information. For thepurposes of this disclosure, user experience information includes one ormore rules that affect the way in which mediatations are displayed inconcert with the video timeline. For example, the user experienceinformation may include a rule that makes display of a mediatation orgroup of mediatations mandatory. On the other hand, user experienceinformation may also include a rule that makes display of anothermediatation or group of mediatations optional. The user experienceinformation may also include rules regarding user permissions to viewcertain mediatations. Information stored on the mediatation data store110, mediatation digital asset store 112, and user experience meta store114 is conveyed to the application server 106 during play of the videoto determine which mediatations are provided to a viewing user.

In one embodiment, video play by the application is described in thecontext of streaming video. However, in another embodiment, video playmay include retrieving video stored locally, by download or otherwise,and played. For example, a video may be stored locally on client device102. In one embodiment, illustrated in FIG. 1, video may be uploaded andstored in the streaming video data store 116. The stored video may thenbe accessed by the streaming video server 108 when a request for videoplay is received.

In one embodiment, a web browser at the client device 102 iscommunicatively coupled to an application running on application server106 and an application running on the streaming video server 108.However, it should be appreciated that the present disclosure is notlimited to browser-based applications and could be deployed as a desktopapplication, a mobile application, etc. The web browser at the clientdevice 102 is configured to coordinate information received from theapplication server 106, which receives information from mediatation datastore 110, mediatation digital asset store 112, and user experience metastore 114, with information received from the streaming video server108, which receives information from streaming video data store 116.This information is used to display one or more mediatationssynchronously with a video timeline as will be described in detailbelow.

FIG. 2 illustrates an embodiment of a method for logging into anapplication for synchronizing one or more mediatations with a videotimeline. “Video timeline” and “timeline” as used in this applicationcomprise a representation of the time span of a currently displayedvideo that may be associated with one or more mediatations. In otherwords, the video timeline provides a chronological display of the videoin a linear fashion, such as will be discussed in further detail below.In one embodiment, the application is a web based application hosted ina browser supported environment and is reliant on a common web browserto render the application executable as described with reference toFIG. 1. The method 200 commences at a receive operation 202 when a userlogon request and user credentials are received. In one embodiment, usercredentials may include a user name and password. These user credentialsare sent in the user logon request from the web browser application tothe application server. Once user credentials are received, flowproceeds to a verify operation 204.

At verify operation 204, the user credentials are verified. In oneembodiment, the application server sends the user credentials to theuser experience meta store. The user experience meta store stores usercredential information. The provided user credential information iscompared to the previously stored user credential information. If theuser credentials do not match, flow terminates. If the user credentialsmatch, flow proceeds to a retrieve operation 206.

At retrieve operation 206, the mediatation homepage information isretrieved. The mediatation homepage information is the informationnecessary to render the mediatation homepage at the client. For example,mediatation homepage information may include code necessary tocommunicate with a client side application to render user interfaceobjects at the client device. Such code may be conveyed in a renderinglanguage, including but not limited to Java and JavaScript. In oneembodiment, this information is stored at the application server. Oncethe mediatation homepage information is retrieved, flow proceeds to asend operation 208.

At send operation 208, the mediatation homepage information is sent tothe client to render the mediatation homepage. Flow then terminates.Once the mediatation homepage is rendered at the client, the client maybegin displaying mediatations synchronously with a video timeline aswill be described in detail below.

FIG. 3 illustrates an embodiment of a method for synchronouslydisplaying one or more mediatations in association with a videotimeline. The method 300 commences with a receive operation 302 when abase video stream is received at the client. A base video stream may bereceived in response to a client side request. In one embodiment, aclient may issue a search request for a particular video stream. Inanother a client may issue a search request for a particularmediatation. The request for the particular mediatation will provide theclient with the associated video stream at the point in the timelineassociated with the requested particular mediatation. Flow proceeds to areceive operation 304. It will be appreciated that one or more of thesteps of method 300 or other methods described herein may be performedin parallel or in different order than depicted.

At receive operation 304, a list of one or more mediatations isreceived. In embodiments, the receive operation 304 is performed at thesame time as receive operation 302. In one embodiment, the list is in atabular format comprising various columns. Entries in a first column mayinclude a brief description of the mediatation, entries in a secondcolumn may contain a reference to the format type of the mediatation,and entries in a third column may include a reference to the period inthe video timeline that the mediatation is associated with. In oneembodiment, the entries in the columns are linked to a point in thetimeline with which the mediatation is associated. For example, inembodiments, the link allows a user, upon selection of the entry, to“jump” the base video stream to the beginning of that period in thetimeline with which the mediatation is associated. Flow proceeds to areceive operation 306.

At receive operation 306, a request is received to play the base videostream. In one embodiment, this request is received by the web browserat the client and may be performed before completion of steps 302 and304. The web browser may recognize client input, such as selection of aplay button, as a request to play the base video stream. In embodiments,the base video stream is played automatically, and no separate requestto play the base video is required. Flow proceeds to a display operation308.

At display operation 308, an indication of a first mediatation isdisplayed when the video is playing within a first period of thetimeline. For purposes of this disclosure, an indication may include apreview of the full mediatation. For example, the indication of thefirst mediatation may be a thumbnail of a PDF while the firstmediatation is the PDF itself. The indication of the first mediatationis displayed in a separate display area from the base video stream.Displaying the indication in a display area separate from the windowdisplaying the base video stream allows a user to view both theindication and the base video stream simultaneously. The indication ofthe first mediatation is associated with a first period of the timeline.This first period may be set to any length of time. In embodiment, a webbrowser on a client machine is configured to coordinate display of theindication of the first mediatation with the first period of thetimeline. When the video timeline, i.e. the timeline associated with thecurrently displayed video, reaches the period associated with theindication of the first mediatation, the web browser displays, in adisplay area separate from the video, the indication of the firstmediatation received from the application server. Once the indication ofthe first mediatation is displayed, flow proceeds to a receive operation310.

At receive operation 310, a command to display the first mediatation isreceived by the web browser. In one embodiment, a user may select theindication of the first mediatation, and this selection is interpretedas a command to display the first mediatation. In another embodiment,the user may select the brief description of the first mediatation inthe list of mediatations to display the first mediatation. Inembodiments, multiple mediatations may be associated with a particularperiod of the timeline. Accordingly, multiple indications ofmediatations may be displayed simultaneously. In embodiments,mediatations may also be accessed and displayed automatically. Once thecommand to display the first mediatation is received, the request isrelayed from the web browser to the application server. Flow thenproceeds to a display operation 312.

At display operation 312, the first mediatation is displayed in thedisplay area separate from the display area displaying base videostream. As discussed above, the first mediatation corresponds to theindication of the first mediatation. For example, if the indication ofthe first mediatation provided a thumbnail view of a PDF document, thefirst mediatation may comprise some or all of the actual PDF document.Flow then terminates.

FIG. 4 illustrates an embodiment of a method for providing mediatationsfor synchronous display with a video timeline at the client. The method400 commences with receive operation 402 where a request to play a basevideo stream is received. In embodiments, the request to play the basevideo stream is conveyed from the client and received by both theapplication server and the server storing the base video stream, such asa streaming video server. In embodiments, an application server, such asapplication server 106 in FIG. 1, performs the operations as representedby the flow on the right side of FIG. 4 (operations 404-420). Theprocess followed by a streaming video server, such as streaming videoserver 108 in FIG. 1, is represented by flow on the left side of FIG. 4(operations 422-426). Each process will be discussed in turn.

When the request to play the base video stream is received, flowproceeds to operation 404 at which a request for a list of meditationsassociated with the base video stream is received. In one embodiment,the list of mediatations includes all mediatations associated with thebase video stream. In another embodiment, the list of mediatationscorresponds to the mediatations that the user has permission to accessor that the user has indicated a preference to receive. The mediatationsassociated with the video may be sorted based on these permissionsand/or preferences and only those mediatations that the user haspermission and/or preference to access are sent. In another embodiment,certain mandatory mediatations will always be included in the list ofmediatations. The user permissions/preferences and mandatory/optionalmediatation rules may be retrieved by the application server from a userexperience meta store, such as user experience meta store 114, asdiscussed above. In yet another embodiment, the list of mediatations maybe filtered on the client side. For example, the client, such as clientdevice 102 in the embodiment described with respect to FIG. 1, may onlywant to view mediatations that were created by a user's professor. Inembodiments, a larger set of mediatations may be sent in the mediatationlist, where it is filtered by the client. The user may select that onlymediatations created by the professor are displayed in the list ofmediatations. Once the request for the list of mediatations is received,flow proceeds to send operation 406.

At send operation 406, the list of mediatations is sent (e.g. byapplication server 106) to client (e.g. client machine 102). Asdiscussed above, the list of mediatations allow the user to select andview information about the mediatations associated with the base videostream. Moreover, the list of mediatations may allow the user to selecta mediatation in the list and “jump” the video timeline to the period inthe timeline associated with the selected mediatation. Rather thanplaying the base video continuously, a user may then be able to viewonly those portions of the base video associated with particularmediatations. Flow proceeds to receive operation 408.

At receive operation 408, an indication that the base video is playingat the client is received. In embodiments, the indication informs theapplication server where in the video timeline the base video will startplaying from. This information is generally available, for example, inpackets required by use of standard streaming media protocols, such asReal-Time Streaming Protocol (RTSP), Real-Time Transport Protocol (RTP),and Real-Time Transport Control Protocol (RTCP). In one embodiment, theuser wants to play the video from the beginning and the applicationserver (such as application server 106) will receive an indication thatthe base video will start playing at time zero. The user, however, doesnot need to start video play from the beginning. For example, the usermay have selected a midway point on the timeline (or any other point) tostart play from. As discussed, this is accomplished in embodiments by auser jumping to different periods in the video timeline by selectingmediatations from the list of mediatations that are associated with suchperiod. Flow proceeds to determine operation 410.

At determine operation 410, a first mediatation associated with a firstperiod in the timeline of the base video stream from the list ofmediatations is determined. The determination of a first mediatation inthe timeline is based upon the point in the timeline that the base videobegan playing. For example, if the base video began playing at timezero, the first mediatation would be the mediatation in the list ofmediatations associated with the earliest period in the timeline. On theother hand, if the base video began playing at a midway point, the firstmediatation would be the mediatation in the list of mediatationsassociated with the earliest period in the timeline after that startingpoint. In embodiments, an associated period is fixed and pre-determinedfor each mediatation. Flow proceeds to monitor operation 412.

At monitor operation 412, the video timeline is monitored. Inembodiments, the timeline at the application server mirrors the timelineat the client. By monitoring the timeline, the application server isable to provide the client with indications of mediatations withoutrequiring client side request and response. This can be facilitated bythe client addressing all video-control commands to both the applicationserver (such as application server 106) and the streaming video server(such as streaming video server 108). Effectively, the applicationserver can track where the client is in video playback using the sametechniques used by the streaming video server. Flow then proceeds toretrieve operation 414.

At retrieve operation 414, upon reaching the first period in thetimeline, an indication of the first mediatation is retrieved. Asdiscussed above, the first period in the timeline is the periodassociated with the first mediatation. Once this period is reached, anindication of the first mediatation is retrieved. In one embodiment, theapplication server retrieves the link between the period in the timelineand the indication of the first mediatation from a mediatation datastore, such as mediatation data store 110. Using the retrieved link, theapplication server (such as application server 106) may then retrievethe indication of the first mediatation from the mediatation digitalasset store (such as mediatation digital asset store 112). As discussedabove, the indication of the first mediatation provides a preview of thefirst mediatation. Flow proceeds to send operation 416.

At send operation 416, the indication of the first mediatation is sentto the client. Once the indication of the first mediatation is sent tothe client, flow proceeds to receive operation 418. In embodiments, oneor both of operations 412 and 414 may be performed at the client, inwhich case operation 416 may not be necessary.

At receive operation 418, a request for the first mediatation isreceived. As discussed above, the first mediatation provides the clientwith the media content that was previewed by the indication of the firstmediatation. In one embodiment, the application server retrieves thefirst mediatation from the mediatation digital asset store. Flow thenproceeds to send operation 420. At send operation 420, the firstmediatation is sent to the client.

In embodiments, the flow of operations 422-424 proceeds concurrentlywith the flow of operations 404-420.

At retrieve operation 422, the base video stream is retrieved by thestreaming video server (such as streaming video server 108). In oneembodiment, the streaming video server retrieves the base video streamfrom the streaming video data store (such as streaming video data store116). At send operation 424, the base video stream is sent from thestreaming video server to the client. In embodiments, send operation 424comprises streaming the video to the client.

FIG. 5 illustrates an embodiment of a method for uploading a mediatationin association with a video timeline. Mediatations may be added by anyuser or administrator with permission to do so. For example, inembodiments, only professors may be permitted to make mandatorymediatations associated with a lecture, and students may be permittedonly to make optional study-note mediatations. The method 500 commencesat operation 502 when a request to upload a mediatation in associationwith a video timeline is received. In one embodiment, the request ismade at a client and conveyed to an application server. The user at theclient may select an existing group of mediatations, i.e. a thread, toassociate the upload with. For example, if the mediatation for upload isa practice problem set, the user may choose to associate the mediatationwith a “Quiz” thread. In one embodiment, a user selects a button on agraphical user interface to request addition of a new mediatation. Inembodiments, new mediatations can be added while the base video streamis playing. The mediatation is associated with the point on the timelinewhen the upload request is made until the user indicates the end of themediatation period. For example, if the user selects the button at thethirty second mark in the timeline, the uploaded mediatation will beassociated with that point of timeline and the period of associated basevideo stream will run until the user indicates that the period shouldend. Other ways to indicate the period with which a new mediatation isassociated are possible. For example, the user could be presented with apop-up menu of choices, including directly setting the time period(s) toassociate it to a new mediatation. Flow proceeds to determine operation504.

At determine operation 504, a determination is made whether the uploadis a batch upload. The determination may be based on the number ofmediatations uploaded. For example, a batch upload may include a numberof mediatations over a given threshold. In another embodiment, a batchupload may be any upload request with more than one mediatation. If itis determined that the upload is a batch upload, flow proceeds toreceive operation 506. If it is determined that the upload is not abatch upload, flow proceeds to receive operation 508.

At receive operation 506, a batch upload of mediatations are received.Batch uploads may be attractive to users who want to upload multiplemediatations at once. One such user could be a professor who delivered avideo graphed lecture now being used as the base video stream. Theprofessor may wish to upload question sets associated with differentpoints in the video timeline. The professor may upload all the questionsets at once and indicate at which periods in the timeline each practicequestion set should be associated with. In one embodiment, the batchmediatations are received using an optimized upload procedure such asFile Transfer Protocol (FTP) or Aspera. The optimized upload procedureallows a user to drop mediatations in a predetermined location on aserver. One example of such a predetermined location is a hot folder.The application on the server is constantly monitoring the hot folderand, when it detects new mediatation uploads, the mediatation uploadsare added to the mediatation digital asset store, such as mediatationdigital asset store 112. Flow proceeds to receive operation 508.

At receive operation 508, a single mediation is received, for example,using web based or browser based manual input. For example, a studentuser may wish to upload a single diagram as a mediatation in associationwith a particular period of the timeline. In embodiments, when the userselects a mediatation for upload at the client, the browser sends arequest to the application server. The mediatation is then stored at themediatation data store. In embodiments, the application server alsocreates and stores an indication (such as a preview) of the newmediatation. Flow proceeds to associate operation 510.

At associate operation 510, the mediatations are associated with one ormore periods of the timeline. If a batch upload is used, eachmediatation may be associated with a different period of the timeline.In another embodiment, each mediatation in a batch upload may beassociated with the same period of the timeline. If a manual browserbased upload is used, each mediatation is associated with a period inthe timeline. In one embodiment, the application server receivesmetadata associated with the mediatation when the request for upload ismade. This metadata is stored in the mediatation data store and is usedto describe the mediatation separate from the link to the videotimeline. Flow then terminates.

FIG. 6 is an illustration of a graphical user interface 600 to create,edit and manage mediatations for a video stream. In embodiments, thegraphical user interface 600 is used by an administrator with rights tothe base video to associate mediatations with it.

For the purposes of the foregoing discussion, the user interfaces may beaccessed via any suitable means, As illustrated, the user interfaces mayprovide one or more windows for display and one or more elements ordisplay areas for selection and/or input. Windows may include one ormore elements, or display areas, and, additionally, may providegraphical displays, instructions, or other useful information. Elementsmay be displayed as buttons, tabs, icons, toggles, or any other suitablevisual access element, etc., including any suitable element for inputselection or control.

According to one embodiment, as illustrated by FIG. 6, administratorcontrol user interface 600 may include administrator control window 602.Administrator control window 602 may further encompass one or morewindows including a video player window 604, thread list window 606, andtimeline window 608. Video player window 604 provides a window todisplay the video as it plays. Video player window 604 may furtherinclude one or more selectable buttons such as a pause button 610 and aplay button 612. The video player window 604 may be further associatedwith a video timeline represented graphically by slider bar 614. Sliderbar 614 displays where the currently displayed image in the video playerwindow 604 lies in the overall video timeline for the played video. Thecurrent point in the timeline may be associated with a dark square inthe slider bar 614. In the depicted embodiment, video timeline isdisplayed as a slider bar 614 with arrows on either end. The arrows maybe selectable elements that allow a user to scroll forward or backwardin the overall timeline for the played video. The dark square in theslider bar 614 may also be a selectable element that the user can dragforward or backward in the slider bar 614. When a user scrolls forwardor backward in the video timeline represented by slider bar 614, thevideo player window 604 will display the new point in the videoassociated with the scrolled point in the timeline. For example, if auser scrolls forward from the beginning of the timeline to point00:05:00, the point in the video stream associated with time 00:05:00will be displayed in video player 604. As will be discussed further withreference to FIG. 8 and FIG. 9, scrolling the video timeline may causeone or more mediatations associated with that point in the timeline toalso be displayed.

Mediatations may be sorted using either threads or categories. In oneembodiment, threads are associated with a particular author whilecategories may include mediatations from a variety of authors. Bothmeans of classification are within the scope of the present applicationand are depicted as part of administrator control user interface 600 forsimplicity. Thread list window 606 displays a list of threads associatedwith the video displayed by the video player window 604. In oneembodiment, the thread lists displayed in the thread list window 606include a name, author, type, and description. The name is theparticular thread name associated with the video stream. In oneembodiment, possible thread names are determined by the administrator orother user. The author is the author of the thread associated with thethread name. As will be discussed further with reference to FIG. 8 andFIG. 9, threads may be created by different authors, such as anadministrator, i.e. a professor, or an end user. Moreover, anadministrator can designate an author of a thread as “required” tomandate that the thread is provided to the end user for display. In oneembodiment, a “required” mediatation will be automatically inserted intoevery thread. The type may provide the media associated with the thread.For example, a “quiz” thread may include only text media. On the otherhand, a “lecture notes” thread may include a mix of different types ofmedia such as PDF, JPEG, text, etc. The description provides adescription of the thread. For example, the “P. Lecture Notes” threadcreated by the professor includes a description of “My Highlights.” Ascan be appreciated from the above description, the thread list window606 provides an administrator with an easily viewable list of threadsassociated with the video currently displayed in the video player window604. The thread list window may also include scroll arrows to accessthreads that are not currently displayed in the thread list window 606.

As depicted in FIG. 6, thread list window 606 may also includeselectable boxes displayed next to each thread in thread list window 606(not depicted). When a user selects a box associated with a giventhread, the mediatations associated with the video stream are filteredand only those timeline points associated with the selected thread aredisplayed in timeline window 608 (not depicted). For example, thetimeline points associated with the checked Lecture Notes thread (suchas the beginning points for each period with which a mediatation in theLecture Notes thread is associated) may be displayed in timeline window608. Scrollbars may be located below and to the right of the timelinewindow 608 to allow a user to view more information in the timelinewindow 608. An exemplary timeline window 608 associated with aparticular thread will be depicted with reference to FIG. 7.

In embodiments, timeline window 608, may be displayed with or withoutthread list window 606 by utilizing categories. As discussed above,categories are provided as an alternate way of filtering mediatations.As depicted in timeline window 608, a category column may be included inthe timeline window 608. As will be appreciated, in this embodiment, thetimeline window 608 is not tied to a particular thread but, rather,displays all mediatations associated with a base video stream. In oneembodiment, the category column may be further filtered. For example, auser may right click on the category column to select a particularcategory for display—such lecture notes or pictures. Once a particularcategory is selected, only mediatations associated with that categoryare displayed in timeline window 608.

Administrator control window 602 may further include a search button616. Search button 606 may be selected by an administrator to search foreither videos or mediatations. In one embodiment, an administrator mayaccess the search button 616 to search for a particular base videostream. Selecting the search button 616 may cause a second window to popup in which an administrator can enter search terms related to a videostream. The system is then searched by the input search terms. Forexample, an administrator may search for “Lecture on DifferentialEquations.” This search may return the video stream for the “Lecture onDifferential Equations.” In another embodiment, the administrator maysearch the system for a particular mediatation. For example, anadministrator may search the system for “Quiz on Limits.” The search maythen return the video stream to which the “Quiz on Limits” ismediatation associated. In addition, when the video stream is returned,the timeline for the video may be automatically advanced and played fromthe beginning of the period with which “Quiz on Limits” mediatation isassociated.

Administrator control window 602 may further include an edit button 618,a new button 620, a review button 622, and a collaborate button 624.Review button 622 allows an administrator to review the mediatationsassociated with the video stream by providing end user viewing window802 as described with reference to FIG. 8. Providing the video streamand associated mediatations using the review button 622 allows anadministrator to view the displayed media content from an end userperspective. An administrator may also configure the mediatationsassociated with a video stream by accessing the collaborate button 624.The collaborate button 624 allows an administrator to use mediatationsfrom other administrators in association with the displayed videostream. For example, an administrator may access the collaborate button624 and be provided with a window of mediatations from otheradministrators. The administrators may then choose, for example, adocument created by another professor and associate the documentmediatation with the underlying video stream.

An administrator may also access the edit button 618 and the new button620 from the administrator control window 602. The edit button 618 maybe accessed by the administrator to edit one or more mediatationsassociated with the video stream displayed in video player window 604.The new button 620 may be accessed by the administrator to add one ormore mediatations to the video stream displayed in the video playerwindow 604. Editing and adding mediatations using the edit button 618and new button 620 will be discussed in further detail with reference toFIG. 7.

FIG. 7 is an illustration of administrator mediatation interface 700provided to an administrator when the administrator accesses either editbutton 618 or new button 620. For the simplicity purposes, administratormediatation interface 700, as well end user display interface 800 andend user control interface 900, are described in terms of filteringmediatations by threads. As will be appreciated, administratormediatation interface 700 may also filter mediatations by categories, asdescribed with reference to administrator user interface 600.

According to one embodiment, as illustrated by FIG. 7, administratormediatation interface 700 may include administrator mediatation window702. Like administrator control window, 602, administrator mediatationwindow 702 also provides a video player window 704 and a timeline sliderbar 706 associated with the video stream displayed by the video playerwindow 704.

Administrator mediatation interface 700 depicts a timeline thread window708 associated with the “Lecture Notes” thread. As discussed withreference to FIG. 6, if the “Lecture Notes” thread is selected fromthread list window 606, the timeline thread window may filtermediatations associated with the video stream and display onlymediatations associated with the selected thread. As depicted intimeline thread window 708, each point in the timeline associated with amediatation in the Lecture Note thread is displayed. Each displayedtimeline point may be further associated with a name and type in thetimeline window 608. For example, the Einstein Article mediatationbegins at point 00:00:01.11 is associated with a PDF type. As describedwith reference to FIG. 6, timeline thread window 708 may further includeone or more scrollbars that allow the administrator to view additionalinformation in the timeline thread window 708.

Administrator mediatation window 702 may further include a mediatationcontrol window 712. Mediatation control window 712 may be used by anadministrator to either add a new mediatation to a base video stream oredit a mediatation currently associated with the video stream. FIG. 7depicts an example of a mediatation control window 712 being used to adda new a mediatation to a video stream as indicated by control status714. Control status 714, in embodiments, may indicate “New Annotation”when the new button 618 is selected in the user interface 600 shown inFIG. 6. As depicted in mediatation control window 712, an administratormay determine the start time and end time of an associated mediatation.As depicted in FIG. 7, administrator mediatation window 702, may includea start button 724 and an stop button 726. The start button 724 and stopbutton 726 allow an administrator to designate a period of associationfor a given mediatation. In one embodiment, the administrator may selectthe start button 724 while a video is playing in video display window704. In another embodiment, the administrator may slide slider bar 706to a desired point and select the start button 724. When theadministrator selects the start button 724, video play may be pausedallowing the administrator to input the mediatation. In anotherembodiment, video play may continue while the administrator mediatatesthe timeline. The point in the timeline at which the administratorselects the start button 724 will be displayed as From time 728 inmediatation control window 712. For example, From time 728 inmediatation control window 712 indicates that the start button 724 wasselected at 00:27:22.00. An administrator may also designate a point inthe timeline as the end time of the period of association for themediatation. In one embodiment, the administrator may select the endbutton 726 while the video is playing. In another embodiment, anadministrator may access the scrollbar 706 to change the point of thetimeline associated with the currently displayed video. Theadministrator may then access end button 726 to designate an end point.The designated end point may be displayed in mediatation control window712 as To time 730. For example, FIG. 7 depicts a mediatation controlwindow 712 that displays a To time 730 of 00:27:58.00.

The administrator may input media content into mediatation controlwindow 712 as the mediatation associated with the input timeline period.As exemplified in FIG. 7, the administrator may input text intomediatation control window 712. The administrator, however, may inputany form of media content into mediatation control window 712, as isdiscussed within the context of the present disclosure. For example, theadministrator may browse to a file system or network location to insertdata comprising a new mediatation, such as a video, image, or otherfile. An attach media button 716 is provided to allow an administratorsuch access to file systems and network locations. In addition, when theuser imports data, the indication (i.e. preview) of such data to be usedand displayed in relation to such mediatation may be created anddisplayed in mediatation control window 712. Once an administrator addsmedia content and designates a timeline period for association with thevideo stream, administrator may select any of review button 718, savebutton 720, or next mediatation button 720. An administrator may accessthe review button 718 to view the end user experience including thenewly attached mediatation. For example, the administrator may bepresented with the user interface 800 depicted in, and discussed inrelation to, FIG. 8. If the administrator is dissatisfied with the enduser experience, the administrator may continue to edit mediatation. Onthe other hand, if the administrator is pleased with the end userexperience, the administrator may select save button 720 to save themediatation to the network communication system. Once the mediatation issaved, or if the administrator decides not to save the mediatation, theadministrator may select next mediatation 722 to create a newmediatation.

It will be appreciated that the administrator mediatation window 702will operate in a substantially similar manner if the administrator haschosen to edit an existing mediatation instead of adding a newmediatation. The existing mediatation will be displayed in themediatation control window 712. The administrator may then edit themediatation and decide to access the attach media button 716, reviewbutton 718, and/or save button 720. If the administrator accesses thenext annotation button 722, the next mediatation currently associatedwith the timeline will be displayed to the administrator for editing.

FIG. 8 is an illustration of end user display interface 800 provided toan end user viewing a video stream associated with one or moremediatations.

According to one embodiment, as illustrated by FIG. 8, end user displayinterface 800 may include end user display window 802. End user displaywindow 802 depicts the display provided to an end user viewing playbackof a video stream associated with one or more mediatations. An end usermay locate a video stream by accessing search button 804. As discussedwith reference to FIG. 6 above, an end user may also access the searchbutton to locate a particular mediatation. The resultant video stream,or video stream associated with the resultant mediatation, is displayedin video player window 806.

Video player window 806 may be associated with a “cover flow view” asdepicted in FIG. 8. The cover flow view displays the video player window806 as well as thumbnails 810 of one or more associated mediatations. Ifa user wants to view the video at the period of the timeline associatedwith one of the mediatations, the user may select the mediatationthumbnail from the thumbnails 810 displayed in the cover flow view. Thevideo display may then change to reflect the period of the videotimeline associated with the selected thumbnail. In one embodiment theselected thumbnail is then displayed in either first mediatation window814 or second mediatation window 816 as an indication of themediatation. Display of an indication of a mediatation in either firstmediatation window 814 or second mediatation window 816 will bediscussed in further detail below. The cover flow is currently displayedas the end user has selected mediatation view in view selection box 812.If the end user decides instead to select video play view, thethumbnails 810 of mediatations will disappear and only the video playerwindow 806 will be displayed where the cover flow view once was.

End user display window 802 may further include a timeline thread window822. As discussed above, the timeline thread window 822 display pointsin the video timeline at which mediatations are associated. The timelinethread window 822 may further identify a type of media associated withthe mediatation at that point in the video timeline. As depicted in FIG.8, a point in the video timeline may be associated with more than onemediatation. The types of mediatations associated with a point in thevideo timeline may be listed in timeline thread window 822.

End user display window 802 may further include a slider bar 812depicting the video timeline associated with the video stream. Asdiscussed above, the timeline indicates at what point, in the overalltimeline, the current video stream is playing. Slider bar 812 may alsoinclude selectable scroll bar arrows and darkened region to allow theend user to move the displayed point in the video stream forward orbackwards in the timeline.

End user display window 802 may further include a first mediatationdisplay window 814. The first mediatation display window 814 displays anindication of a first mediatation associated with a point in thetimeline. As discussed above, indications of mediatations provide apreview for the mediatations. One or more mediatations may be associatedwith the same or different periods in the timeline. End user displaywindow 802 displays a point in the video timeline associated with twomediatations, an indication of the first mediatation displayed in firstmediatation window 814 and an indication of the second mediatationdisplayed in second mediatation window 816. Moreover, in embodiments,more than one indication of a mediatation may be displayed in a singledivided window, such as windows 814 and 816, wherein the window (e.g.814 or 816) may be divided into more than one display areas.

As will be appreciated, first mediatation window 814 and secondmediatation window 816 may include forward and backward selectionarrows. If the end user selects the forward or backward selectionarrows, the previous or next mediatation will be displayed in eitherfirst mediatation window or second mediatation window. In oneembodiment, selection of the forward or backward selection arrows causesthe video player window 804 to display the video stream at the point inthe timeline associated with the previous or next mediatation.

As will be appreciated, as the video is played and the timelineadvances, indications of different mediatations associated withdifferent points on the timeline will be displayed in first mediatationwindow 814 and second mediatation window 816. As will also beappreciated, indications of mediatations displayed in either firstmediatation window 814 or second mediatation window 816 may be displayedfor different lengths of time.

When a user wants to view a mediatation, the user may select either thefirst mediatation window 814 or the second mediatation window 816,depending on the mediatation the user wants to view. For example, if theuser wants to see the entirety of the Albert Einstein presentationpreviewed as an image indication in second mediatation window 816, theuser may select the second mediatation window 816. As will beappreciated, the user may select the second mediatation window 816 byclicking on the Albert Einstein image, the word “Image”, or any otherarea of selection in or associated with the second mediatation window816 as will be appreciated by one skilled in the art. When the userselects the indication of the mediatation, the mediatation itself willbe displayed in the mediatation window. Using the above example, whenthe user selects the indication of a picture of Albert Einstein insecond mediatation window 816, the entire Albert Einstein presentationmay be provided in second mediatation window 816.

End user display window 802 may further include an availablemediatations window 818. Available mediatations window 818 provides alist of mediatation threads that the end user has permission to view.The available mediatations window 818 is similar to the thread listwindow as discussed with reference to FIG. 6. As depicted in FIG. 8, the“Student Notes” thread is currently selected. Per this selection,mediatations in the Student Notes thread will be displayed in eitherfirst mediatation window 814 or second mediatation window 816. As willbe appreciated, one or more threads may be selected for display. In oneembodiment, threads that have an author of “required” are alwaysdisplayed no matter which, if any, other threads are selected by the enduser. As depicted with reference to FIG. 8, the Quiz thread is required.In one embodiment, available mediatation window 818 displays the Quizthread as always selected, as is depicted by the checked box next to theQuiz thread. Additional threads may be viewed by accessing a scroll barassociated with the available mediatation window 818. Availablemediatations window 818 may further include one or more tabs for sortingmediatation threads. For example, as depicted in FIG. 8, availablemediatations window 818 may include an “Admin Threads” tab and a “MyThreads” tab. When a user selects the “Admin Threads” tab, only thosethreads created by the administrator are displayed in the availablemediatations window 818. If the user selects the “My Threads” tab, onlythose threads created, or chosen to be displayed, by the user aredisplayed in the available mediatations window 818. Required threads aredisplayed, in embodiments, regardless of user choice. In addition, theuser may choose the “All” tab which causes all threads to be displayedfor selection. In this case, the user has selected the “All” tab. As canbe appreciated, selection of the “All” tab allows a user to furtherselect threads created by the user and created by others for viewing.

End user display window 802 may further include a manage mediatationsbutton 820. The manage mediatations button 820 allows a user to accessuser interface 900 to create and edit mediatations. User interface 900is described in further detail with reference to FIG. 9.

FIG. 9 is an illustration of an end user control interface 900 isprovided to an end user so the end user can create and add his/her ownmediatations associated with the video stream.

According to one embodiment, as illustrated by FIG. 9, end user controlinterface 900 may include end user control window 902. Like end userdisplay window 802, end user control window 902 may include a videoplayer window 904. Depending on the view mode as discussed withreference to FIG. 8, video player window 904 may be displayed in a coverflow view as accompanied by one or more mediatation thumbnails 906. Enduser display window 902 may also include a slider bar 908 representing atimeline associated with the video currently playing in video displaywindow 904. Slider bar 908 may also include selectable scroll bar arrowsand darkened region to allow the end user to move the displayed point inthe video stream forward or backwards in the timeline.

End user control window 902 may further include a timeline thread window936. As discussed above, the timeline thread window 936 display pointsin the video timeline at which mediatations are associated. The timelinethread window 936 may further identify a type of media associated withthe mediatation at that point in the video timeline. As depicted in FIG.9, a point in the video timeline may be associated with more than onemediatation. The types of mediatations associated with a point in thevideo timeline may be listed in timeline thread window 936. Inembodiments, timeline thread windows, such as windows 608, 708, 822, and936 may display the entire period of the timeline with which amediatation has been associated (in addition to the starting point forsuch associated period).

End user control window 902 may further include a thread list window914. The thread list window 914 may provide the user with a list ofthreads associated with the played video. The user may sort the threadlist window 914 using tabs as discussed with reference to FIG. 8. Asdepicted in end user control window 902, the user has selected the “MyThreads” tab. As a result, the list of threads has been sorted and onlythe “Student Notes” thread and “Quiz” thread are provided to the user inthread list window 914.

End user control window 902 may further include a first mediatationwindow 910 and a second mediatation window 912. As will be appreciated,less than two or more than two mediatation windows may be provided byend user control window 902 and mediatation windows 910 and 912 may bedivided to display more than one mediatation or indication thereof.Using either the first mediatation window 910 or the second mediatationwindow 912, a user can create a new or edit an existing mediatation. Inone embodiment, the end user may create new or edit existingmediatations only for a thread that the end user has permission tocontrol. As discussed with reference to FIG. 6, permissions may be setby an administrator. For example, a user may not be allowed to controlthe “Quiz” thread but may have permission to control the “Student Notes”thread. An end user who wants to add or edit mediatations associatedwith a particular thread may select that thread from thread list window914. In one embodiment, an end user may select a thread by selecting acheck box located next to the thread. For example, as depicted by FIG.9, an end user may select a “Student Notes” thread. The selection maythen be indicated in control heading bar 916.

When an end user wants to create a new mediatation, the end user mayselect a new button 936. In one embodiment, once new button 936 isselected, first mediatation window 910 and second mediatation window 912may appear without any associated media content. The user may thenselect the mark mediatation beginning button 918. The mark mediatationbeginning button 918 is associated with the point in the timelinecurrently associated with the video stream. As discussed above, thistimeline point may be depicted by slider bar 908. Once the end usermarks the mediatation beginning point in the video timeline 908, theuser may input media content into either first mediatation window 910 orsecond mediatation window 912. In one embodiment media content may beinput by simply typing or copying and pasting into either the firstmediatation window 910 or the second mediatation window 912. In anotherembodiment, the user may right click on either the first mediatationwidow 910 or the second mediatation window 912 and select a type ofmedia that will be input. The mediatation windows may further bedesignated for different types of media. For example, the firstmediatation window 910 may be utilized when the end user is enteringtext content while second mediatation window 912 may be utilized whenthe end user is inputting other media content.

When the end user is ready to attach the media content input in firstmediatation window 910 or second mediatation window 912, the end usermay select mark mediatation end button 920 to associate the mediatationwith a period on the timeline. In one embodiment, the user has allowedthe video display window 904 to continue to play the video while the enduser inputs a mediatation and, when the video stream reaches givenpoint, the end user may select the mark mediatation end button 920. Forexample, if the end user is taking notes on the chapter for “Integrals”in the lecture and the lecturer moves onto a new chapter, the end usermay access the mark mediatation end button 920 to mark the end of hisnotes for that chapter. In another embodiment, the end user may havepaused the video to take notes and may wish to advance the timeline tomark the end of the mediatation without playing the video. The end usermay advance the slider bar 908 to a desired point and then access themark mediatation end button 920 to designate the end of the period forthe mediatation. If the end user is satisfied with the mediatation, theend user may save the mediatation in association with the period in thetimeline by accessing save button 924. As discussed with reference toFIG. 7, once save button 924 or 934 is accessed, the indication of themediatation will be displayed when the mediatation's thread is selectedduring the video stream for the designated period of the timeline.

An end user may also edit an existing mediatation using end user controlwindow 902. In one embodiment, the end user may access the mediatationselection menu 922 to select a particular mediatation associated withthe selected thread as depicted in FIG. 9. In one embodiment, themediatation selection menu 922 may be a pull down displaying differentmediatations for selection. For example, FIG. 9 displays threemediatation for selection, labeled “My Mediatation 1”, “My Mediatation2”, and “My Mediatation 3.” Once a mediatation is selected from the pulldown, the content of the mediatation will be displayed in either firstmediatation window 910 or second mediatation window 912. For example, asdepicted in FIG. 9, when “My Mediatation 2” is selected from themediatation selection window 922, the media content associated with “MyMediatation 2” is provided in first mediatation window 910. In oneembodiment, when a mediatation is selected, all mediatations associatedwith that point in the timeline are displayed. As depicted withreference to FIG. 9, two mediatations, displayed in first mediatationwindow 910 and second mediatation window 912 are associated with the00:14:15.16 point in the timeline. In another embodiment, eachmediatation window may be associated with a separate mediatation andpoint in the timeline. In yet another embodiment, if the user accessesprevious button 928 or next button 930, the previous or next mediatationassociated with the timeline may be provided in either the firstmediatation window 910 or the second mediatation window 912. If a userwants to change the media content associated of the mediatation, theuser may access edit button 926 or edit button 932. When the user issatisfied with the edited mediatation, the user may then save thechanges by accessing the save button 924 or save button 934.

FIG. 10 is a block diagram illustrating an embodiment of a suitablecomputer system for associating one or more mediatations with a videotimeline.

With reference to FIG. 10, a suitable computer system for implementingaspects of a web browser based application may include one or morecomputing devices, such as computing device 1000. In general, computingdevice 1000 includes at least one processing unit 1006 and memory 1004.Depending on the configuration and type of computing device, memory 1004may be volatile (such as RAM), non-volatile (such as ROM, flash memory,etc.), or some combination of the two and may store information inaccordance with the present disclosure, such as mediatations 1018. Abasic configuration of the computing device 1000 is illustrated in FIG.10 by dashed line 1002.

Additionally, computing device 1000 may also have additional featuresand/or functionality. For example, computing device 1000 may includeadditional storage, for example, removable storage 1008 andnon-removable storage 1010. Computer storage media may includenon-transitory, volatile and nonvolatile, removable and non-removablemedia implemented in any method or technology for storage ofinformation, such as computer-executable instructions, data structures,program modules, or other data. Memory 1004, removable storage 1008, andnon-removable storage 1010 are all examples of computer storage media.For example, computer storage media may include RAM, ROM, EEPROM, flashmemory or other memory technology, CD-ROM, digital versatile disks (DVD)or other optical storage, magnetic cassettes, magnetic tape, magneticdisk storage or other magnetic storage devices, or any other medium thatcan be used to store the desired information and that can accessed bycomputing device 1000. The described computer storage media are providedby way of example only and any such suitable computer storage media maybe associated with computing device 1000.

Computing device 1000 may also contain communications connection(s) 1016that allow the computing device to communicate with other devices.Communications connection(s) 1016 is an example of communication media.Communication media typically embodies computer readable instructions,data structures, program modules or other data in a modulated datasignal such as a carrier wave or other transport mechanism and includesany information delivery media. The described communications connectionsand media are provided by way of example only and any suitable means ofcommunicating between computer systems may be utilized within the spiritof the present disclosure.

Computing device 1000 may also include input device(s) 1014 such as akeyboard, mouse, pen, voice input device, touch input device, etc.Output device(s) 1012 such as displays, speakers, printer, etc., mayalso be included.

The computing device 1000 may operate in a networked environment usinglogical connections to one or more remote computing devices (not shown).A remote computing device may include any suitable computer system, suchas a personal computer, a server computer system, a router, a networkPC, a peer device, or other common network node, and typically includesmany or all of the elements described above relative to the computingdevice 1000. The logical connections between the computing device 1000and the remote computer may include a local area network (LAN) or a widearea network (WAN), or any other suitable network. For example, suchnetworks may include enterprise-wide computer networks, intranets, andthe Internet. The described network connections are provided by way ofexample only and any suitable means of establishing a communicationslink between computer systems may be used.

Communication between components of a computer system may be conductedover a distributed network, as described above, via wired or wirelessaccess. For example, the present methods may be configured as a layerbuilt over the TCP/IP protocol. TCP/IP stands for “Transmission ControlProtocol/Internet Protocol” and provides a basic communication languagefor many local networks (such as intra- or extranets) and is the primarycommunication language for the Internet. Specifically, TCP/IP is abi-layer protocol that allows for the transmission of data over anetwork. The higher layer, or TCP layer, divides a message into smallerpackets, which are reassembled by a receiving TCP layer into theoriginal message. The lower layer, or IP layer, handles addressing androuting of packets so that they are properly received at a destination.Again, the described computing device, network functionality, etc., areprovided for purposes of example only and any suitable computing systemoperating over any suitable network may be utilized by embodiments asdescribed herein.

It will be clear that the systems and methods described herein are welladapted to attain the ends and advantages mentioned as well as thoseinherent therein. Those skilled in the art will recognize that themethods and systems within this specification may be implemented in manymanners and as such is not to be limited by the foregoing exemplifiedembodiments and examples. In other words, functional elements beingperformed by a single or multiple components, in various combinations ofhardware and software, and individual functions can be distributed amongsoftware applications at either the client or server level. In thisregard, any number of the features of the different embodimentsdescribed herein may be combined into one single embodiment andalternative embodiments having fewer than or more than all of thefeatures herein described.

While various embodiments have been described for purposes of thisdisclosure, various changes and modifications may be made which are wellwithin the scope of the present invention. Numerous other changes may bemade which will readily suggest themselves to those skilled in the artand which are encompassed in the spirit of the disclosure and as definedin the appended claims

1-20. (canceled)
 21. A method for synchronizing display of media contentwith a video timeline, the method comprising: receiving a base videostream, wherein the base video stream is streaming from a server;displaying a thread window separate from the base video stream, whereinthe thread window displays a first thread and a second thread;receiving, at the thread window, a selection of the first thread,wherein the first thread includes a first mediatation associated with afirst period of a base video timeline; receiving a list of one or moremediatations from the first thread, wherein the list of one or moremediatations is separate from the base video stream and separate fromthe thread window; playing the base video stream, including displayingthe base video stream; when the base video stream reaches the firstperiod of the timeline, displaying the first mediatation separate fromthe base video stream and separate from the list of one or moremediatations; receiving, at the thread window, a selection of the secondthread, wherein the second thread includes the second mediatation;updating the list of mediatations to reflect the one or moremediatations in the second thread; receiving, at the list ofmediatations, a selection of a second mediatation, wherein the secondmediatation is associated with a second period of the timeline; inresponse to the command to display the second mediatation, advancing thebase video stream to the second period of the timeline; and displayingthe second mediatation separate from the base video stream.
 22. Themethod of claim 21, further comprising displaying a first indication ofthe first mediation.
 23. The method of claim 21, wherein receiving thelist of one or more mediatations further comprises filtering the list ofone or more mediatations by classification.
 24. The method of claim 22,wherein the first indication of the first mediatation is a thumbnailthat comprises a link to the first mediatation
 25. The method of claim21, further comprising: receiving a selection of the second period ofthe timeline; receiving a request to associate a third mediatation withthe second period of the timeline; and associating the third mediatationwith the second period of the timeline; and displaying a thirdindication of the third mediatation when playback of the base videostream is within the second period of the timeline.
 26. The method ofclaim 21, wherein the list of one or more mediatations includes aplurality of authors of the one or more mediatations, the method furthercomprising: receiving a selection in the list of one or moremediatations of a first author of the plurality of authors; andfiltering the list of one or more mediatations to display in the listonly one or more mediatations associated with the first author.
 27. Themethod of claim 26, wherein the first mediatation is authored by thefirst author and a third mediatation in the list of one or moremediatations is authored by a second author and is associated with thesecond period of the timeline, the method further comprising, after thestep of filtering, not displaying a third indication of the thirdmediatation during the second period of the timeline.
 28. A method forsynchronizing display of media content with a video timeline, the methodcomprising: streaming a base video stream from a server; monitoring atimeline of the base video stream; sending a list of one or more threadsfor display separate from the base video stream, wherein the list of oneor more threads comprises a first thread associated a list of one ormore mediatations and a second thread associated with a list of one ormore mediatations; receiving a request for a list of one or moremediatations in the first thread, wherein the one or more mediatationsare not incorporated into the base video stream; sending the list of oneor more mediatations to the client; determining a first mediatation fromthe list of one or more mediations, wherein the first mediatation isassociated with a first period in the timeline of the base video stream;receiving a request for the first mediatation when the base video streamis in the first period of the timeline; sending the first mediatation tothe client for display separate from the base video stream, list ofmediatations, and the thread window; receiving a request to update thelist of mediatations with one or more mediatations associated with thesecond thread; and sending an updated list of mediatations associatedwith the second thread for.
 29. The method of claim 28, furthercomprising sending a first indication of the first mediation.
 30. Themethod of claim 29, wherein the first indication of the firstmediatation is a thumbnail that comprises a link to the firstmediatation.
 31. The method of claim 28, wherein the list of one or moremediatations comprises different types, wherein the different typesinclude portable document format (PDF), word files, and picture files.32. The method of claim 28, further comprising: receiving an upload of amediatation with a period in the timeline; and storing the mediatationseparately from the base video stream; and storing a link between themediatation and the period in the timeline such that the mediatation isassociated with the with the period in the timeline for display.
 33. Themethod of claim 28, further comprising: receiving confirmation that thebase video stream has stopped playing at the client; pausing themonitoring of the timeline; receiving confirmation that the base videostream is playing at a new period in the timeline; and determiningwhether a mediation on the list of one or more mediatations isassociated with the new period in the timeline.
 34. The method of claim28, further comprising: receiving confirmation that the list ofmediatations at the client has been filtered based on mediatations addedby a first author; determining a third mediatation added by the firstauthor from the list of one or more mediations, wherein the thirdmediatation is associated with a third period in the timeline of thebase video stream; upon reaching the third period in the timeline,retrieving a third indication of the third mediatation associated withthe first author; and sending the third indication of the thirdmediatation to the client for display.
 35. A system for synchronizingdisplay of media content with a video timeline, the system comprising:at least one processor; and a memory, communicatively coupled to the atleast one processor and containing instructions that, when executed bythe at least one processor, perform a method, the method comprising:receiving a base video stream, wherein the base video stream isstreaming from a server; displaying a thread window separate from thebase video stream, wherein the thread window displays a first thread anda second thread; receiving, at the thread window, a selection of thefirst thread, wherein the first thread includes a first mediatationassociated with a first period of a base video timeline; receiving alist of one or more mediatations from the first thread, wherein the listof one or more mediatations is separate from the base video stream andseparate from the thread window; playing the base video stream,including displaying the base video stream; when the base video streamreaches the first period of the timeline, displaying the firstmediatation separate from the base video stream and separate from thelist of one or more mediatations; receiving, at the thread window, aselection of the second thread, wherein the second thread includes thesecond mediatation; updating the list of mediatations to reflect the oneor more mediatations in the second thread; receiving, at the list ofmediatations, a selection of a second mediatation, wherein the secondmediatation is associated with a second period of the timeline; inresponse to the command to display the second mediatation, advancing thebase video stream to the second period of the timeline; and displayingthe second mediatation separate from the base video stream.
 36. Thesystem of claim 35, wherein receiving the list of one or moremediatations further comprises filtering the list of one or moremediatations by classification.
 37. The system of claim 35, furthercomprising: receiving selection of a third mediatation from the list ofone or more mediatations, wherein the third mediatation is associatedwith the second period of the timeline; advancing the base video streamto the second period of the timeline; and displaying, during the secondperiod of the timeline, an indication of the third mediatation separatefrom the base video stream.
 38. The system of claim 35, furthercomprising: receiving a selection of a second period of the timeline;receiving a request to associate a third mediatation with the secondperiod of the timeline; associating the third mediatation with thesecond period of the timeline; and displaying an indication of the thirdmediatation when playback of the base video stream is within the secondperiod of the timeline.
 39. The system of claim 35, wherein the list ofone or more mediatations includes a plurality of authors of themediatations, the method further comprising: receiving a selection inthe list of a first author of the plurality of authors; and filteringthe list of one or more mediatations to display in the list onlymediatations associated with the first author.
 40. The system of claim39, wherein mediatations associated with the first author are requiredfor display in association with the base video stream.